package com.ingweb.inventarius.dao;

import java.util.List;

import com.ingweb.inventarius.model.Inventario;

public interface DAOInventario {
	/**
	 * Metodo que obtiene el listado de Inventarios que se encuentran actualmente
	 * en la base de datos.
	 * 
	 * @return Listado de entidades Inventario encontradas
	 */
	public List<Inventario> obtenerInventarios();

	/**
	 * Metodo que devuelve un Inventario a partir de su ID
	 * 
	 * @param codigo
	 *            Valor entero que identifica el Inventario
	 * @return Instancia de Inventario
	 */
	public Inventario obtenerInventario(int codigo);

	/**
	 * Metodo que permite persistir un Inventario en la base de datos
	 * 
	 * @param inventario
	 *            Instancia del Inventario a persistir
	 */
	public void guardarInventario(Inventario inventario);

	/**
	 * Metodo que permite eliminar un Inventario en la base de datos
	 * 
	 * @param inventario
	 *            Instancia del Inventario a eliminar
	 */
	public void eliminarInventario(Inventario inventario);

	/**
	 * Metodo que permite persistir un Poducto ya existente en la base de datos
	 * 
	 * @param inventario
	 *            Instancia del Inventario a persistir
	 */
	public void editarInventario(Inventario inventario);

	/**
	 * Metodo que permite realizar una busqueda de un inventario a partir de una
	 * palabra clave en su atributo nombre
	 * 
	 * @param cadena
	 *            Keyword para realizar la busqueda
	 * @return Listado de entidades de tipo Prodcutoque coinciden con el string
	 *         de busqueda
	 */
	public List<Inventario> buscarInventario(String cadena);
}
